package com.exrobot.module.rbt.framework.util;


import jodd.util.StringUtil;

import java.time.LocalDateTime;

public class CommonUtils {

    //region 坐标和地址转换方法
    /**
     * 根据地址信息转标点
     * */
    public static String getPointByAddress(String areaNo, String floorNo, String roomNo) {
        return String.format("%s:%s:%s", areaNo, floorNo, roomNo);
    }
    /**
     * 根据坐标点信息转地址信息
     * */
    public static String getFloorByPoint (String point) {
        if(StringUtil.isBlank(point)) {
            return null;
        }
        String[] location = getAddressByPoint(point);
        if(location == null) {
            return null;
        }
        return String.format("%s:%s:%s", location[0], location[1], location[2]);
    }
    /**
     * 根据坐标点信息转地址信息
     * */
    public static String[] getAddressByPoint (String point) {
        if(StringUtil.isBlank(point)) {
            return null;
        }
        String[] arr = point.split(":");
        if(arr.length != 4) {
            return null;
        }
        return arr;
    }
    //endregion

    /**
     * 根据指定时间判断是什么餐点
     * @param time 指定的时间
     * @return 餐点类型（1早餐、2中餐、3晚餐、4夜宵）
     */
    public static Integer getMealTime(LocalDateTime time) {
        int hour = time.getHour();
        if (hour >= 5 && hour < 10) { // 判断早餐时间（5:00-10:00）
            return 1;
        } else if (hour >= 10 && hour < 15) {// 判断午餐时间（10:00-15:00）
            return 2;
        } else if (hour >= 15 && hour < 21) {  // 判断晚餐时间（15:00-21:00）
            return 3;
        } else { // 判断夜宵时间（21:00-次日5:00）
            return 4;
        }
    }


}

